/* Copyright (c) [2025] [zhi1208@126.com]
 * SPDX-License-Identifier: MIT
 */

#pragma once

/*********************
 *      INCLUDES
 *********************/
#include "lvgl.h"

/*********************
 *      DEFINES
 *********************/

/**********************
 *      TYPEDEFS
 **********************/
typedef enum
{
    HMI_THEME_LIGHT,
    HMI_THEME_DARK
} hmi_theme_enum_t;

typedef enum
{
    HMI_TRANS_ZH,
    HMI_TRANS_EN,
} hmi_translations_enum_t;

typedef enum
{
    HMI_ROTAE_DEF,
    HMI_ROTAE_90,
} hmi_rotate_enum_t;

typedef enum
{
    HMI_STATE_OFF,
    HMI_STATE_ON
} hmi_state_enum_t;

/**********************
 * GLOBAL PROTOTYPES
 **********************/
extern float hmi_g_anim_rate;

extern lv_subject_t hmi_time_subj;
extern lv_subject_t hmi_wifi_subj;
extern lv_subject_t hmi_bluetooth_subj;

extern lv_subject_t hmi_theme_subj;
extern lv_subject_t hmi_translations_subj;
extern lv_subject_t hmi_rotate_subj;

extern lv_subject_t hmi_weather_subj;

void hmi_subject_init();

/**********************
 *      MACROS
 **********************/
